package org.example.config;

import com.antgroup.geaflow.common.config.ConfigKey;
import com.antgroup.geaflow.common.config.ConfigKeys;

public class JobConfig {

    public static final int DEFAULT_PARALLELISM = 8;

    public static final ConfigKey SOURCE_PARALLELISM = ConfigKeys
            .key("geaflow.source.parallelism")
            .defaultValue(1)
            .description("job source parallelism");

    public static final ConfigKey SINK_PARALLELISM = ConfigKeys
            .key("geaflow.sink.parallelism")
            .defaultValue(1)
            .description("job sink parallelism");

    public static final ConfigKey FILTER_PARALLELISM = ConfigKeys
            .key("geaflow.filter.parallelism")
            .defaultValue(DEFAULT_PARALLELISM)
            .description("job filter parallelism");

    public static final ConfigKey MAP_PARALLELISM = ConfigKeys
            .key("geaflow.map.parallelism")
            .defaultValue(DEFAULT_PARALLELISM)
            .description("job map parallelism");

    public static final ConfigKey UNION_PARALLELISM = ConfigKeys
            .key("geaflow.union.parallelism")
            .defaultValue(DEFAULT_PARALLELISM)
            .description("job union parallelism");

    public static final ConfigKey ITERATOR_PARALLELISM = ConfigKeys
            .key("geaflow.iterator.parallelism")
            .defaultValue(DEFAULT_PARALLELISM)
            .description("job iterator parallelism");

    public static final ConfigKey GEAFLOW_SINK_TYPE = ConfigKeys
            .key("geaflow.sink.type")
            .defaultValue("console")
            .description("job sink type, console or file");
}
